/*
 * @lc app=leetcode.cn id=219 lang=java
 *
 * [219] 存在重复元素 II
 */

// @lc code=start

import java.util.Set;
import java.util.HashSet;

class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        // 滑动窗口
        int n = nums.length;
        Set<Integer> set = new HashSet<>();

        for(int i = 0; i < n; i++) {
            if(i > k) {
                set.remove(nums[i-k-1]);
            }

            if(set.contains(nums[i])) {
                return true;
            }

            set.add(nums[i]);
        }
        return false;
    }
}
// @lc code=end

